Optimal Evaluation of Fortran-90 Array Expressions for Distributed Memory Machines
نویسنده
چکیده
The owner-computes strategy has been used for evaluation of Fortran-90 array expressions on distributed memory machines. This strategy simpliies code generation but is often expensive in terms of the total communication cost and size of temporary memory required for its implementation. In this paper, we propose the relaxing of the owner computes strategy, to reduce the total communication and temporary storage cost. We develop cost metrics for measuring the communication and memory cost associated with the evaluation of Fortran-90 array expressions on distributed memory machines. The communication tree is introduced as a useful representation for array expressions involving associative and commutative operators of one kind. Procedures for estimating communication and temporary memory costs for a communication tree are described. An eecient polynomial-time algorithm to determine an evaluation order which minimizes the communication cost is presented. We also present an eecient polynomial-time algorithm to determine the evaluation order which minimizes the memory cost involved in the evaluation of such expressions.
منابع مشابه
Array Operation Synthesis to Optimize HPF Programs
An increasing number of programming languages, such as Fortran 90, HPF, and APL, are providing a rich set of intrinsic array functions and array expressions. These constructs which constitute an important part of data parallel languages provide excellent opportunities for compiler optimizations. The synthesis of consecutive array operations or array expressions into a composite access function ...
متن کاملEecient Support of Parallel Sparse Computation for Array Intrinsic Functions of Fortran 90 *
Fortran 90 provides a rich set of array intrinsic functions. Each of these array intrinsic functions operates on the elements of multi-dimensional array objects concurrently. They provide a rich source of parallelism and play an increasingly important role in automatic support of data parallel programming. However, there is no such support if these intrinsic functions are applied to sparse data...
متن کاملPACK/UNPACK on Coarse-Grained Distributed Memory Parallel Machines
PACK/UNPACK are Fortran 90/HPF array construction functions which derive new arrays from existing arrays. We present algorithms for performing these operations on coarse-grained parallel machines. Our algorithms are relatively architecture independent and can be applied to arrays of arbitrary dimensions with arbitrary distributionalong every dimension. Experimental results are presented on the
متن کاملVector Prefix and Reduction Computation on Coarse-Grained, Distributed-Memory Parallel Machines
Vector prefix and reduction are collective communication primitives in which all processors must cooperate. We present two parallel algorithms, the direct algorithm and the split algorithm, for vector prefix and reduction computation on coarse-grained, distributed-memory parallel machines. Our algorithms are relatively architecture independent and can be used effectively in many applications su...
متن کاملCompiling Array Expressions for Efficient Execution on Distributed-Memory Machines
Array statements are often used to express data-parallelism in scientiic languages such as Fortran 90 and High Performance Fortran. In compiling array statements for a distributed-memory machine, eecient generation of communication sets and local index sets is important. We show that for arrays distributed block-cyclically on multiple processors, the local memory access sequence and communicati...
متن کامل